package com.bupt.annotation;

import com.bupt.annotation.constants.SystemSettingProperties;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface AccessLimit {

    long interval() default 1000L; // 两次点击间隔时间  默认时间1000ms  单位ms

    boolean isEnableClickLimit() default true; // 是否启用限流防刷的操作

    boolean isLogIn() default true; // 是否需要进行登录

    boolean freezeUserCanAccess() default false; // 冻结的账户是否可以进行通过   必须是 isLogIn 为true的情况下才有效

    boolean enable() default true; // 该接口是否可用  也可以说接口是否可达

    boolean isVerifyCode() default false; // 验证码是否需要进行验证
    /*
        权限值  大于等于才能进行操作 当然 首先得闲登陆 默认所有的用户都可以访问 设置的时候注意一下
     */
    /*InterfaceLevel permissionInt() default InterfaceLevel.ZERO; // 接口权限值

    UserRole minUserRole() default UserRole.USER_PERMISSION_LEVEL_3; // 接口的用户角色
*/
    @Deprecated
    boolean logEnable() default false; // 是否开启日志 暂时没有用到

    String interfaceName(); // 接口名称 必须填写 日志的操作
}

